package main

import "fmt"

func main() {
	//var m1 map[string]string
	//m1["a"] = "aa"
	//fmt.Println("m1 =", m1) // 报错：panic: assignment to entry in nil map

	// 先初始化，再创建——初始化后不能直接使用
	var m2 map[string]string
	m2 = make(map[string]string)
	m2["a"] = "aa"
	fmt.Println("m2 =", m2) // m2 = map[a:aa]

	// 直接创建
	m3 := make(map[string]string)
	m3["b"] = "bb"
	fmt.Println("m3 =", m3) // m3 = map[b:bb]

	// 初始化 + 赋值一体化
	m4 := map[string]string{
		"a": "aa",
		"b": "bb",
	}
	fmt.Println("m4 =", m4) // m4 = map[a:aa b:bb]
	m4["c"] = "cc"
	fmt.Println("m4 =", m4) // m4 = map[a:aa b:bb c:cc]
}
